home *** CD-ROM | disk | FTP | other *** search
- unit Clients;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, DBTables, DB, Grids, DBGrids;
-
- type
- TClientForm = class(TForm)
- ClientDataSource: TDataSource;
- ClientTable: TTable;
- PersonTable: TTable;
- CompanyTable: TTable;
- ClientDBGrid: TDBGrid;
- ClientTableCLIENT_ID: TIntegerField;
- ClientTableCLIENT_TYPE: TSmallintField;
- ClientTableFIRST_CONTACT: TDateField;
- ClientTableLAST_CONTACT: TDateField;
- ClientTablePHONE_NUMBER: TStringField;
- ClientTableCLIENT_NAME: TStringField;
- PersonTableFIRST_NAME: TStringField;
- PersonTableLAST_NAME: TStringField;
- PersonTableCLIENT_ID: TIntegerField;
- CompanyTableCLIENT_ID: TIntegerField;
- CompanyTableCOMPANY_NAME: TStringField;
- procedure ClientTableCalcFields(DataSet: TDataset);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- ClientForm: TClientForm;
-
- implementation
-
- {$R *.DFM}
-
- procedure TClientForm.ClientTableCalcFields(DataSet: TDataset);
- var
- ClientName: String;
- begin
- ClientName := '';
- case ClientTableCLIENT_TYPE.AsInteger of
- 1: { This client is an individual }
- begin
- if PersonTable.FindKey([ClientTableCLIENT_ID.AsInteger]) then
- begin
- if not PersonTableFIRST_NAME.isNull then
- ClientName := ClientName
- + PersonTableFIRST_NAME.AsString
- + ' ';
- ClientName := ClientName + PersonTableLAST_NAME.AsString;
- end;
- end;
- 2: { This client is a company }
- begin
- if CompanyTable.FindKey([ClientTableCLIENT_ID.AsInteger]) then
- ClientName := CompanyTableCOMPANY_NAME.AsString;
- end;
-
- end;
- ClientTableCLIENT_NAME.Value := ClientName;
- end;
-
- end.
-